package com.mdb.open.trade.domain.po.trade;

/*
* Copyright (C), 2017-2019 澳发科技(MDB)
* FileName: TfTradeFileItemInfoService.java
* Author:   you.yichao
* Date:     2019-08-10
* History:
* <author>          <time>          <version>          <desc>
* you.yichao         2019-08-10          V1.00             代码生成器初始生成代码
* -----------------------------------------------------------
* 作者姓名           修改时间           版本号            描述
*/


import com.baomidou.mybatisplus.annotation.*;
import com.mdb.bc.api.data.DataObjectBase;
import com.mdb.open.common.enums.trade.type.TradeSourceTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
* 类描述：
*  融资档案商品信息表实体类
*
* @author you.yichao
* @date 2019-08-10
*/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("tf_trade_file_item_info")
public class TradeFileItemInfo extends DataObjectBase {

    private static final long serialVersionUID = 1L;
    /**
    * 唯一性Id
    */
    @ApiModelProperty(value = "唯一性Id")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
    * 融资档案编号
    */
    @ApiModelProperty(value = "融资档案编号")
    @TableField("trade_file_no")
    private String tradeFileNo;

    /**
    * 融资档案商品编号
    */
    @ApiModelProperty(value = "融资档案商品编号")
    @TableField("trade_file_item_no")
    private String tradeFileItemNo;

    /**
     * 融资档案海关编号
     */
    @ApiModelProperty(value = "融资档案海关编号")
    @TableField("trade_file_customs_no")
    private String tradeFileCustomsNo;

    /**
     * 报关单号
     */
    @ApiModelProperty(value = "报关单号")
    @TableField("customs_no")
    private String customsNo;

    /**
    * 客户编码
    */
    @ApiModelProperty(value = "客户编码")
    @TableField("customer_code")
    private String customerCode;

    /**
    * 客户名称
    */
    @ApiModelProperty(value = "客户名称")
    @TableField("customer_name")
    private String customerName;

    /**
    * 商户客户编码
    */
    @ApiModelProperty(value = "商户客户编码")
    @TableField("mcustomer_code")
    private String mcustomerCode;

    /**
    * 商户编号
    */
    @ApiModelProperty(value = "商户编号")
    @TableField("merchant_no")
    private String merchantNo;

    /**
    * 商户名称
    */
    @ApiModelProperty(value = "商户名称")
    @TableField("merchant_name")
    private String merchantName;

    /**
    * 业务编号
    */
    @ApiModelProperty(value = "业务编号")
    @TableField("business_no")
    private String businessNo;

    /**
    * 进口方中文名称
    */
    @ApiModelProperty(value = "进口方中文名称")
    @TableField("item_cn_name")
    private String itemCnName;

    /**
    * 进口方英文名称
    */
    @ApiModelProperty(value = "进口方英文名称")
    @TableField("item_en_name")
    private String itemEnName;

    /**
    * hscode
    */
    @ApiModelProperty(value = "hscode")
    @TableField("hs_code")
    private String hsCode;

    /**
    * 品牌
    */
    @ApiModelProperty(value = "品牌")
    private String brand;

    /**
    * 计量单位
    */
    @ApiModelProperty(value = "计量单位")
    private String unit;

    /**
    * 数量
    */
    @ApiModelProperty(value = "数量")
    private BigDecimal quantity;

    /**
    * 合同金额
    */
    @ApiModelProperty(value = "合同金额")
    @TableField("contract_amount")
    private BigDecimal contractAmount;

    /**
    * 合同币种
    */
    @ApiModelProperty(value = "合同币种")
    @TableField("contract_ccy")
    private String contractCcy;

    /**
    * 报关单价
    */
    @ApiModelProperty(value = "报关单价")
    @TableField("custom_unit_amount")
    private BigDecimal customUnitAmount;

    /**
    * 报关单价币种
    */
    @ApiModelProperty(value = "报关单价币种")
    @TableField("custom_unit_ccy")
    private String customUnitCcy;

    /**
    * 报关总价
    */
    @ApiModelProperty(value = "报关总价")
    @TableField("custom_total_amount")
    private BigDecimal customTotalAmount;

    /**
    * 报关总价币种
    */
    @ApiModelProperty(value = "报关总价币种")
    @TableField("custom_total_ccy")
    private String customTotalCcy;

    /**
    * 贸易档案状态
    */
    @ApiModelProperty(value = "贸易档案状态")
    private String status;

    /**
    * 数据来源类型
    */
    @ApiModelProperty(value = "数据来源类型")
    @TableField("source_type")
    private TradeSourceTypeEnum sourceType;

    /**
    * 创建时间
    */
    @ApiModelProperty(value = "创建时间")
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    /**
    * 更新时间
    */
    @ApiModelProperty(value = "更新时间")
    @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime updateTime;

    /**
    * 乐观锁版本号
    */
    @ApiModelProperty(value = "乐观锁版本号")
    @Version
    private Integer version;

    /**
    * 删除标识
    */
    @ApiModelProperty(value = "删除标识")
    @TableLogic
    private boolean deleted;

}
